package cn.mw.cmdb.param;

import lombok.AllArgsConstructor;
import lombok.Data;
import lombok.NoArgsConstructor;

import java.util.List;

@Data
@NoArgsConstructor
@AllArgsConstructor
public class AlgorithmConfigParam {

    // ID字段
    private String id;

    // 类型字段，可选值为'繁忙度[busyness] 可用性[availability] 健康度[healthiness]'
    private String type;

    // 繁忙度计算指标字段
    private List<CalculatedMetricDTO> busynessMetricList;

    // 可用性计算指标字段
    private String availabilityMetric;

    // 健康度计算指标字段
    private String healthinessMetric;

    // 计算周期字段，表示计算周期的整数值
    private Integer calculationPeriod;

    // 计算周期单位字段，表示计算周期的单位
    private String calculationPeriodUnit;

    // 计算区间数组字段，由开始时间和结束时间组成
    private List<TimeRangeDTO> calculationInterval;

    // 计算方式字段，根据用户填写的信息生成
    private String calculationMethod;

    // 应用范围字段，可选值为'全局[overall] 自定义[custom]'
    private String applicationScope;

    // 模型ID数组字段，如果应用范围选择自定义，传递模型ID或模型组ID
    private List<String> modelIdList;

}
